Feature/Helper methods for personname.GroupInfo values in a veterinary context #180
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello!
Just doing a quick followup to #167 that adds some helper methods and functions for working with PN values in a veterinary context in accordance with this piece of the DICOM spec:
Here is an overview of the API:
I opted for a single Veterinary() method on the GroupInfo type that returns a container to act as a namespace for the four Veterinary-specific methods. I like this as an API since Veterinary use-cases are going to be relatively niche compared to human medicine, and it might be kind of annoying to the average user to have four discreet veterinary methods hanging off the GroupInfo value when writing code for human-centric workflows.
But I also like having these methods, as it wraps creating a full reflection of the DICOM PN spec. If the dicom spec feels it is important enough to specify and standardize Veterinary use-cases, it's worth including helper methods to enable explicit handling of that use-case. Code that calls these methods will have very little ambiguity about what its intention is and what the data is being used to represent.
That being said, if you would prefer, I can move all the methods directly onto the GroupInfo object as VeterinaryResponsibleParty(), SetVeterinaryResponsibleParty(), etc. I also will not be offended if you decide this is overkill.